# coding:utf-8
# 这里创建分级目录树是成功的，但是这里对Excel表格的填写是有格式要求的，若是我有一千个三级目录对应不同的二级目录，在对应不同的一级目录，那大概会被累死的
# 一开始我是想规定一个简单点好填写的Excel表格格式，然后将这个表格转化为下面算法识别的表格格式，再来创建分级目录树，但是我稍微实践了一下，发下我要是都能直接分出来了，为啥还用再转化一张表呢，直接就读取出来创建目录好了啊
# 于是，问题就出现了，如algorithm.py所示
import xlrd
import os

DIRPATH = os.path.dirname(os.path.realpath(__file__))
excelFILE = r".\test.xlsx"


def get_data_by_xls(xlsfile):
    """通过xls文档得到数据列表"""
    wb = xlrd.open_workbook(xlsfile)
    table = wb.sheets()[0]
    rows = table.nrows
    for i in range(rows):
        yield table.row_values(i)


def createDir(dirPath, xList):
    """应用递归，生成文档数"""
    try:
        rPath = os.path.join(dirPath, xList[0])
        try:
            os.mkdir(rPath)
            rList = xList[1:]
            print(os.path.join(DIRPATH, rList))
        except:
            rList = xList[1:]
        createDir(rPath, rList)
    except:
        pass


for i in get_data_by_xls(excelFILE):
    if i:
        createDir(DIRPATH, i)
